#ifndef CARDRIVERABSTRACT_H
#define CARDRIVERABSTRACT_H
#include <string>
#include <vector>
#include "generaldefine.h"


class CarDriverAbstract
{
public:
    CarDriverAbstract();
public:
    virtual int startMove(){}
    virtual int ceaseMove(){}
    virtual int cancelMove(){}
    virtual int emergencyStop(){}
    virtual int resetAll(){}
    virtual int servOn(){}
    virtual int servOff(){}
    virtual int changeVehicleMode(int modeIn){}
    virtual int addMoveCommand(MoveCommandInfo parameterIn){}
    virtual int addLogicCommand(int commandCode,double parameter1,double parameter2,std::string comment){}
    virtual int setMoveSpeedRatio(double speedRatioIn){}
    virtual int getBasicStatus(VehicleBasicStatus &statusOut){}
    virtual int getMovingStatus(VehicleMovingStatus &statusOut){}
    virtual int getLogicCommandStatus(LogicCommandStatus &statusOut){}
    virtual int getMessages(std::vector<Message> &messageOut){}
    virtual int getCarHardInfo(CarHardInfo &infoOut){}


};

#endif // CARDRIVERABSTRACT_H
